การใช้งาน VPC ในเชิงปฏิบัติกับ EC2
สวัสดีเพื่อนๆ ชาว AWS Service ทุกท่านด้วยครับ ผมป๊อปครับ
ในบทความนี้ผมได้เขียนอธิบายเกี่ยวกับ การใช้งาน VPC ในเชิงปฏิบัติกับ EC2 ครับ เข้าไปดูกันเลย
เป้าหมายการใช้งาน VPC ในเชิงปฏิบัติกับ EC2
ครั้งนี้เราจะมาทำการสร้าง Amazon EC2 (2) และทำการเชื่อมต่อกับ Amazon EC2 (1) ที่กำลังเชื่อมต่อกับ VPC กันครับ
สิ่งที่ต้องมี
ก่อนจะเริ่มทำตามขั้นตอนในบทความนี้ ให้ทำ การสร้าง VPC Beginner และเชื่อมต่อกับ EC2 Instance ให้เสร็จก่อน โดยทำตามหัวข้อที่อธิบายด้านล่างนี้ได้เลย
ในส่วนของชื่อ คุณจะตั้งชื่อ VPC, Key pair, EC2 Instance ว่าอะไรก็ได้ ซึ่งในตัวอย่างจะใช้ชื่อดังนี้
Function | Name |
---|---|
VPC | tinnakorn-test |
Key pair | tinnakorn-test-ec2 |
Amazon EC2 (1) | tinnakorn-test-ec2-1 |
Amazon EC2 (2) | tinnakorn-test-ec2-2 |
บทความของ การสร้าง VPC Beginner และเชื่อมต่อกับ EC2 Instance มีทั้งหมด 3 หัวข้อหลักๆ แต่ให้ทำตามหัวข้อที่ต้องทำ ✅
ดังต่อไปนี้
หัวข้อที่ต้องทำ ✅
หัวข้อที่ไม่ต้องทำ ❌
!ในแต่ละหัวข้อหลัก จะมีหัวข้อย่อยอยู่ข้างในอีก ต้องทำเรียงตามขั้นตอนนะครับ
เมื่อทำเสร็จแล้วจะได้โครงสร้างแบบนี้ ก็คือในส่วนของ VPC และ Amazon EC2 (1) เสร็จเรียบร้อยแล้ว
การใช้งาน VPC ในเชิงปฏิบัติกับ EC2
ขั้นตอนนี้เราจะมาสร้าง Amazon EC2 (2) ขึ้นมาโดยการเชื่อมต่อกับ Amazon EC2 (1) ที่ได้เชื่อมต่อกับ VPC ไว้อยู่กันครับ
การสร้าง Amazon EC2 (2) นี้ ไม่ต้องใช้ Key pair แต่การตั้งค่าจะแตกต่างจาก Amazon EC2 (1) เล็กน้อย ซึ่งการสาธิตการสร้าง Amazon EC2 (2) นี้ผมจะขอข้ามมาหน้าที่ต้องตั้งค่าเลยนะครับ เมื่อพร้อมแล้วเรามาเริ่มกันเลยครับ
Step 3: Configure Instance Details
เริ่มต้นการสร้าง Amazon EC2 (2) นี้ให้เริ่มต้นเหมือนกับการสร้าง Amazon EC2 (1) เลยครับ และเมื่อมาถึงขั้นตอน Step 3: Configure Instance Details ให้ทำตามขั้นตอนด้านล่างนี้
» เลือก Network ที่สร้างขึ้นใน Service VPC เช่นtinnakorn-test-vpc
จากนั้น Subnet ก็จะเปลี่ยนให้โดยอัตโนมัติ
» เลือก Auto-assign Public IP:Disable
» แล้วเลื่อนลงไปด้านล่างสุด
» เมื่อเลื่อนลงมาแล้วให้ใส่ Primary IP:192.168.1.11
» คัดลอก Code ด้านล่างนี้วางในช่องของ User data และเปลี่ยน your_password ให้เป็นรหัสของคุณ เช่นtest2022
เป็นต้น
สามารถอ่านรายละเอียดเพิ่มเติมได้ที่: การสร้างรหัสผ่านเข้าสู่ระบบระหว่างทำการสร้าง EC2 Instance โดยใช้ UserData
#cloud-config password: your_password chpasswd: { expire: False } ssh_pwauth: True
» คลิกNext: Add Storage
Step 6: Configure Security Group
ให้ทำการตั้งค่าตามนี้
① เปลี่ยนชื่อ Security group name กับ Description เป็นชื่ออะไรก็ได้ เช่นtinnakorn-test-ec2-2
② เลือก Type ให้เป็นAll traffic ⌵
(การเชื่อมต่อทั้งหมดมาจาก Subnet เดียวกันใน SecurityGroup นี้)
③ ใส่ IP ที่ Source:192.168.1.0/24
(การเชื่อมต่อทั้งหมดมาจาก Subnet เดียวกันใน SecurityGroup นี้)
④ คลิกReview and Launch
Step 7.Review
① คลิกLaunch
② เมื่อ POPUP แสดงขึ้นมา ให้เปลี่ยน Choose an existing key pair เป็นProceed without a key pair
แล้ว Select a key pair จะหายไป และคลิก ☑ Checkbox
③ คลิกLaunch Instances
เมื่อสร้าง Amazon EC2 (2) เสร็จแล้ว จะได้หน้าตาแบบนี้ แต่ว่าจะไม่มี Public IPv4 address เพราะว่าตอนสร้าง Instance เราได้ทำการ Disable Auto-assign Public IP เอาไว้นั่นเอง
การเชื่อมต่อ Server Amazon Linux 2 ของ Amazon EC2 (2)
(a)
กลับมาที่หน้า Terminal ของ PuTTy แล้วทำการเชื่อมต่อ Server Amazon Linux 2 ของ Amazon EC2 (1) โดยใช้ Key pair ให้เรียบร้อย
แต่ถ้าทำการเชื่อมต่อไว้อยู่แล้วให้ทำตามขั้นตอนถัดไปได้เลย
(b)
ให้รันคำสั่งนี้เพื่อเชื่อมต่อ Server Amazon Linux 2 ของ Amazon EC2 (2)
*โปรดเปลี่ยน Private IP 192.168.1.11
ของ Amazon EC2 (2) นี้ให้เป็นของคุณ
[ec2-user@ip-192-168-1-16 ~]$ ssh ec2-user@192.168.1.11 // รันคำสั่งนี้เพื่อเชื่อมต่อ Server Amazon Linux 2 ของ Amazon EC2 (2) The authenticity of host '192.168.1.11 (192.168.1.11)' can't be established. ECDSA key fingerprint is SHA256:FsO33zzPNBAj9meQWvQDZNl8bYsBVHZlMg0uRNkV8vI. ECDSA key fingerprint is MD5:d6:de:5e:4d:cc:5b:f7:f3:47:05:1b:a5:46:8d:61:d0. Are you sure you want to continue connecting (yes/no)? yes // พิมพ์ yes เพื่อยืนยัน Warning: Permanently added '192.168.1.11' (ECDSA) to the list of known hosts. ec2-user@192.168.1.11's password: "[your_password]" // พิมพ์รหัสผ่านของคุณ !ระหว่างพิมพ์รหัสจะไม่แสดงให้เห็น __| __|_ ) _| ( / Amazon Linux 2 AMI ___|\___|___| https://aws.amazon.com/amazon-linux-2/ [ec2-user@ip-192-168-1-11 ~]$
สุดท้ายนี้จะเป็นการตรวจสอบ Private IPv4 addresses ของ Amazon EC2 (2)
รันคำสั่งด้านล่างนี้เพื่อตรวจสอบ Private IP ได้เลย
[ec2-user@ip-192-168-1-11 ~]$ ifconfig // inet 192.168.1.11 นี้คือ Private IP eth0: flags=4163 mtu 9001 inet 192.168.1.11 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::45f:cfff:feae:cfe6 prefixlen 64 scopeid 0x20 ether 06:5f:cf:ae:cf:e6 txqueuelen 1000 (Ethernet) RX packets 699 bytes 78158 (76.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 827 bytes 91347 (89.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 24 bytes 1944 (1.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 24 bytes 1944 (1.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [ec2-user@ip-192-168-1-11 ~]$
การลบ VPC และฟังก์ชันต่างๆ ใน EC2
วิธีการลบ VPC และฟังก์ชันต่างๆ ใน EC2 สามารถดูได้ที่บทความของ การสร้าง VPC Beginner และเชื่อมต่อกับ EC2 Instance ในหัวข้อ การลบ VPC ได้ที่ลิงก์ด้านล่างนี้เลยครับ
สรุป
การสาธิตวิธีการใช้งาน VPC ในเชิงปฏิบัติกับ EC2 นี้เราจะเน้นที่ Network ที่ใช้ในการเชื่อมต่อกับ Server Amazon Linux 2 เป็นหลักครับ เพราะว่าการที่เราใช้ VPC ร่วมกับ EC2 Instance จะทำให้มีความปลอดภัยในการใช้งานมากขึ้นนั่นเอง
นอกจากนี้ถ้าเราต้องการเชื่อมต่อ Server ของ Amazon EC2 (2) เราสามารถเชื่อมต่อผ่าน Server ของ Amazon EC2 (1) ได้เลย ซึ่งอำนวยความสะดวกมากๆ ยังไงก็ลองใช้กันดูนะครับ
บทความที่เกี่ยวข้อง
- วิธีติดตั้ง Amazon Linux บน EC2 และเชื่อมต่อเซิร์ฟเวอร์ด้วยโปรแกรม PuTTy
- การสร้าง VPC Beginner และเชื่อมต่อกับ EC2 Instance
- การสร้างรหัสผ่านเข้าสู่ระบบระหว่างทำการสร้าง EC2 Instance โดยใช้ UserData
- วิธีแก้ปัญหาการเชื่อมต่อ Security Group
- การอนุญาต SSH สำหรับการตรวจสอบรหัสผ่านด้วย Amazon Linux 2 ใน EC2
- Brute-force attack